A batch process refers to computing processes that are executed to perform a series of operations. A batch process may copy data stored in a database into memory and perform the operations on the copy of the data in memory. If during the batch process, the original data in the database is updated as a result of ongoing transactions, the resulting update to the data in the database is not reflected in the calculation performed by the batch process, because copy of the data in memory is not updated from the database, while the batch process is executing.
To avoid data inconsistency and inaccurate results, one solution is to stop all ongoing transactions performed on target data in the database, that may be utilized by the batch process. This is less than satisfactory, as it results in system downtime and delays associated with processing the incoming transactions. It is possible to continue the transactions, if the computations that the batch process performs do not rely on data that is updated by the transactions. If the target data is updated while the batch process is running, however, the batch process will have to be restarted from the beginning